package cn.wolfcode.trip.base.domain;

import cn.wolfcode.trip.base.util.JSONUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 骡窝日报
 */
@Getter
@Setter
@JsonIgnoreProperties("handler")
public class News extends BaseDomain {
    /**
     * 新闻类型
     */
    private Integer type = 1;
    /**
     * 新闻类型名称
     */
    private String typeName;
    /**
     * 新闻标题
     */
    private String title;
    /**
     * 新闻副标题
     */
    private String subTitle;
    /**
     * 新闻封面
     */
    private String coverUrl;
    /**
     * 新闻时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "MM月dd日", timezone = "GMT+8")
    private Date newsTime;
    /**
     * 新闻内容
     */
    private NewsContent newsContent;
    /**
     * 收藏新闻的用户
     */
    private List<User> users;

    public String getTypeName() {
        return typeName;
    }

    public String getJson() {
        Map<String, Object> map = new HashMap<> ();
        map.put ("id", id);
        map.put ("title", title);
        map.put ("subTitle", subTitle);
        map.put ("type", type);
        map.put ("coverUrl", coverUrl);
        return JSONUtil.toJSONString (map);
    }
}